package com.siwei.mes.service.sync.erp;

import com.github.pagehelper.PageInfo;
import com.siwei.mes.common.query.PageQuery;
import com.siwei.mes.entity.erp.RwdextraInfo;
import com.siwei.mes.entity.sync.erp.ErpCustomer;
import com.siwei.mes.entity.sync.erp.ErpProject;

import java.util.List;

/**
 * 工程信息(ErpProject)表服务接口
 *
 * @author linzi
 * @since 2024-07-25 16:52:15
 */
public interface ErpProjectService {
    /**
     * 修改
     *
     * @param entity
     */
    ErpProject update(ErpProject entity);

    /**
     * 删除
     *
     * @param id
     */
    void delete(Long id);

    /**
     * 获取所有分组  分页
     *
     * @param query
     * @return
     */
    PageInfo<ErpProject> getPage(PageQuery<ErpProject, ErpProject> query);

    /**
     * 根据id查询
     *
     * @param id
     * @return
     */
    ErpProject loadById(Long id);

    /**
     * 获取所有
     *
     * @param entity
     * @return
     */
    List<ErpProject> getAll(ErpProject entity);

    /**
     * 根据合同编号和工程名称和 品控客户信息生成工程信息
     *
     * @param erpCustomer  品控客户信息
     * @param rwdextraInfo ERP任务单扩展信息
     * @return
     */
    ErpProject saveOrUpdateErp(ErpCustomer erpCustomer, RwdextraInfo rwdextraInfo);

    /**
     * 工程绑定物料
     *
     * @param entity
     */
    ErpProject configErpProject(ErpProject entity);

    /**
     * 获取所有铁标工程名称
     *
     * @return
     */
    List<String> getIsIronMarkProjectName();
}
